1. Field of The Invention
The present invention relates generally to a system and method for compiling a computer program, and more particularly to a system and method for compiling a computer program wherein the computer program is adapted for use with a data parallel computer.
2. Related Art
A compiler is a computer program which receives a source program as input. The source program is written in a source language. The compiler translates the source program into an equivalent target program. The target program is written in a target language.
Many source and target languages are known. For example, source languages include Ada, Pascal, Fortran, C, and Lisp. Target languages include machine languages for computers having one or a great number of processors.
Compilers which support parallel data processing allow the definition and use of parallel variables. For reference purposes, such compilers are called data parallel compilers.
Many conventional compilers (both data parallel compilers and non-data parallel compilers) support type conversion operations wherein a value's data type is converted from a first data type (such as character) to a second data type (such as integer).
Some conventional data parallel compilers may also suppport promotion operations wherein scalar values are promoted to parallel values. Generally, however, such conventional data parallel compilers are flawed because they do not efficiently coordinate the compilation of type conversion operations and promotion operations.
Thus, a data parallel compiler which efficiently coordinates the compilation of type conversion operations and promotion operations is required.